package com.zbkj.service.manager;

import com.zbkj.dal.base.enums.ShareProfitSceneEnums;
import com.zbkj.dal.entity.profit.ShareProfitRecord;

import java.math.BigDecimal;
import java.util.List;

public interface ShareProfitManager {

    /**
     * 分润并确认
     *
     * @param userId           用户 ID
     * @param bizOrderNo       业务订单号
     * @param orderAmount      订单金额
     * @param shareAmount      分润金额
     * @param shareProfitScene 分润场景
     */
    void shareProfitInitAndConfirm(Integer userId, String bizOrderNo,String imagePath, BigDecimal orderAmount, BigDecimal shareAmount, ShareProfitSceneEnums shareProfitScene);

    /**
     * 分润初始化
     *
     * @param userId           用户 ID
     * @param bizOrderNo       业务订单号
     * @param orderAmount      订单金额
     * @param shareAmount      分润金额
     * @param shareProfitScene 分润场景
     */
    void shareProfitInitAsync(Integer userId, String bizOrderNo, String imagePath,BigDecimal orderAmount, BigDecimal shareAmount, ShareProfitSceneEnums shareProfitScene);

    /**
     * 分润确认
     *
     * @param bizOrderNo 业务订单号
     */
    void shareProfitConfirmAsync(String bizOrderNo);


    boolean shareProfitConfirmCheck(String bizOrderNo, List<ShareProfitRecord> shareProfitRecords);

    /**
     * 分润关闭
     *
     * @param bizOrderNo 业务订单号
     */
    void shareProfitClose(String bizOrderNo);

    /**
     * 分润退款退回
     * 本期没有退款，不存在退回
     *
     * @param bizOrderNo 业务订单号
     */
//    void shareProfitRefundReturn(String bizOrderNo);

}
